3.4 数据运算时对齐特性
两个Series,或者两个DataFrame在做运算时,是具有对齐性,也就是它们的运算不是按位置对齐运算,而是按索引对齐运算的。
import pandas as pd,numpy as np
path1 = r "D:\Pyobject2023\object\测试\测试素材.考试成绩1月.xlsx"
path2 = r "D:\Pyobject2023\object\测试\测试素材.考试成绩2月.xlsx"
df1 = pd.read_excel(path1, index_col =0)
df2 = pd.read_excel(path2, index_col =0 )
t=df1+df2
print (df1)
print (df2)
print (t)
返回:
数学 | |
---|---|
姓名 | |
小明 | 85.5 |
小张 | 89.0 |
小四 | 99.0 |
小曾 | 100.0 |
数学 | |
---|---|
姓名 | |
麻子 | 85.5 |
小张 | 89.0 |
小四 | 99.0 |
小曾 | 100.0 |
数学 | |
---|---|
姓名 | |
小四 | 198.0 |
小张 | 178.0 |
小明 | NaN |
小曾 | 200.0 |
麻子 | NaN |
import pandas as pd,numpy as np
path1 = r "D:\Pyobject2023\object\测试\测试素材.考试成绩1月.xlsx"
path2 = r "D:\Pyobject2023\object\测试\测试素材.考试成绩2月.xlsx"
df1 = pd.read_excel(path1, index_col =0)
df2 = pd.read_excel(path2, index_col =0)
df3=df1.add(df2,fill_value=0) # 缺失值填充为0
print (df1)
print (df2)
print (df3)
返回:
数学 | |
---|---|
姓名 | |
小明 | 85.5 |
小张 | 89.0 |
小四 | 99.0 |
小曾 | 100.0 |
数学 | |
---|---|
姓名 | |
麻子 | 85.5 |
小张 | 89.0 |
小四 | 99.0 |
小曾 | 100.0 |
数学 | |
---|---|
姓名 | |
小四 | 198.0 |
小张 | 178.0 |
小明 | 85.5 |
小曾 | 200.0 |
麻子 | 85.5 |
两个表列数据位置不一样,行位置不一样
import pandas as pd,numpy as np
path1 = r "D:\Pyobject2023\object\测试\测试素材.考试成绩1月.xlsx"
path2 = r "D:\Pyobject2023\object\测试\测试素材.考试成绩2月.xlsx"
df1 = pd.read_excel(path1, index_col =0)
df2 = pd.read_excel(path2, index_col =0)
df3=df1.add(df2,fill_value=0) # 缺失值填充为0
print (df1)
print (df2)
print (df3)
返回:
语文 | 数学 | |
---|---|---|
姓名 | ||
小明 | 90 | 85.5 |
小张 | 67 | 89.0 |
小四 | 65 | 99.0 |
小曾 | 23 | 100.0 |
数学 | 语文 | |
---|---|---|
姓名 | ||
麻子 | 85.5 | 85 |
小张 | 89.0 | 76 |
小四 | 99.0 | 77 |
小曾 | 100.0 | 55 |
数学 | 语文 | |
---|---|---|
姓名 | ||
小四 | 198.0 | 142.0 |
小张 | 178.0 | 143.0 |
小明 | 85.5 | 90.0 |
小曾 | 200.0 | 78.0 |
麻子 | 85.5 | 85.0 |